
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author DoanMinhVu
 */
public class Help extends Canvas implements CommandListener {

    private Display display;
    private Command cmdBack;
    private MidletDuaXe midlet;
    private Image imgUp, imgDown, imgLeft, imgRight, imgTitle,imgBlueCar,imgRedCar,imgYellowCar,imgSilverCar,
            imgFuel,imgPoliceCar,imgfuel1;
    SoundHelper soundHelper;
    private int cur = 1;

    public Help(MidletDuaXe midlet, Display display) {
        this.display = display;
        this.midlet = midlet;
        cmdBack = new Command("Back", Command.BACK, 1);
        this.addCommand(cmdBack);
        setCommandListener(this);
        soundHelper = new SoundHelper("Sound/Meteor.mid");
        soundHelper.setLoopCount(-1);
        soundHelper.playSound();
    }

    protected void keyPressed(int keyCode) {
        switch (getGameAction(keyCode)) {
            case UP:
                if (cur == 1) {
                    cur = 1;
                } else {
                    cur--;
                }
                repaint();
                break;
            case DOWN:
                if (cur == 3) {
                    cur = 3;
                } else {
                    cur++;
                }
                repaint();
                break;
        }
    }

    protected void paint(Graphics g) {
        try {
            imgUp = Image.createImage("/Images/up.png");
            imgDown = Image.createImage("/Images/down.png");
            imgLeft = Image.createImage("/Images/left.png");
            imgRight = Image.createImage("/Images/right.png");
            imgTitle = Image.createImage("/Images/HelpTitle.png");
            imgBlueCar = Image.createImage("/Images/BlueCar.PNG");
            imgRedCar = Image.createImage("/Images/RedCar.PNG");
            imgYellowCar= Image.createImage("/Images/YellowCar.PNG");
            imgSilverCar = Image.createImage("/Images/SilverCar.PNG");
            imgFuel = Image.createImage("/Images/Fuel.png");
            imgPoliceCar = Image.createImage("/Images/PoliceCar.PNG");
            imgfuel1 = Image.createImage("/Images/fuel1.png");
        } catch (Exception ex) {
            System.out.println(ex.toString());
        }
        g.setColor(200, 220, 220);
        g.fillRect(0, 0, getWidth(), getHeight());
        g.setColor(255, 255, 255);
        g.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_PLAIN, Font.SIZE_SMALL));
        g.setColor(10, 10, 10);
        if (cur == 1) {
             g.drawImage(imgTitle, getWidth() / 2 - 60, 2, Graphics.TOP | Graphics.LEFT);
            g.drawString("Phím", 5, 55, Graphics.TOP | Graphics.LEFT);
            g.drawImage(imgUp, 40, 53, Graphics.TOP | Graphics.LEFT);
            g.drawString("(2) để tăng tốc độ xe", 65, 55, Graphics.TOP | Graphics.LEFT);
            g.drawString("Phím", 5, 80, Graphics.TOP | Graphics.LEFT);
            g.drawImage(imgDown, 40, 78, Graphics.TOP | Graphics.LEFT);
            g.drawString("(8) để giảm tốc độ xe", 65, 80, Graphics.TOP | Graphics.LEFT);
            g.drawString("Phím", 5, 105, Graphics.TOP | Graphics.LEFT);
            g.drawImage(imgLeft, 40, 103, Graphics.TOP | Graphics.LEFT);
            g.drawString("(4) để dịch qua trái", 65, 105, Graphics.TOP | Graphics.LEFT);
            g.drawString("Phím", 5, 130, Graphics.TOP | Graphics.LEFT);
            g.drawImage(imgRight, 40, 128, Graphics.TOP | Graphics.LEFT);
            g.drawString("(6) để dịch qua phải", 65, 130, Graphics.TOP | Graphics.LEFT);
            g.drawString("Người chơi điều khiển xe",5,155,Graphics.TOP | Graphics.LEFT);
            g.drawImage(imgRedCar,195,145,Graphics.TOP | Graphics.LEFT);
            g.drawString("tránh khỏi va chạm với các xe",5,195, Graphics.TOP | Graphics.LEFT);
            g.drawImage(imgBlueCar,getWidth()/2-30,210,Graphics.TOP | Graphics.LEFT);
            g.drawImage(imgSilverCar,getWidth()/2,210,Graphics.TOP | Graphics.LEFT);
            g.drawImage(imgYellowCar,getWidth()/2+30,210,Graphics.TOP | Graphics.LEFT);
            g.drawString("nếu va chạm sẽ mất một mạng",5, 260, Graphics.TOP | Graphics.LEFT);
        }
        if (cur == 2) {
            g.drawString("trên đường sẽ xuất hiện",15,15, Graphics.TOP | Graphics.LEFT);
            g.drawImage(imgFuel,195,10, Graphics.TOP | Graphics.LEFT);
            g.drawString("bạn phải ăn chúng để duy trì", 5, 35, Graphics.TOP | Graphics.LEFT);
            g.drawString("nhiên liệu cho xe của bạn", 5, 55, Graphics.TOP | Graphics.LEFT);
            g.drawString("nếu đồng hồ đo nhiêu liệu", 5, 75, Graphics.TOP | Graphics.LEFT);
            g.drawImage(imgfuel1, 2,92, Graphics.TOP | Graphics.LEFT);
            g.drawString("ở góc trái bằng 0",80,100, Graphics.TOP | Graphics.LEFT);
            g.drawString("xe sẽ dừng lại và bạn mất",5,130, Graphics.TOP | Graphics.LEFT);
            g.drawString("một mạng.",5,150, Graphics.TOP | Graphics.LEFT);
            g.drawString("Đồng thời trên đường đua bạn",15,170, Graphics.TOP | Graphics.LEFT);
            g.drawString("sẽ bị xe",5,200, Graphics.TOP | Graphics.LEFT);
            g.drawImage(imgPoliceCar, 70, 190, Graphics.TOP | Graphics.LEFT);
            g.drawString("từ sau bám theo", 100, 200, Graphics.TOP | Graphics.LEFT);
            g.drawString("và ép xe bạn gây cản trở bạn",5,235, Graphics.TOP | Graphics.LEFT);
            g.drawString("trong việc né tránh các vật",5,255, Graphics.TOP | Graphics.LEFT);
            g.drawString("cản trên đường đua",5,275, Graphics.TOP | Graphics.LEFT);
        }
        if(cur==3){
            g.drawString("trên đường đua cũng sẽ xuất hiện tiền \n"
                    + "khi bạn ăn 1 cục tiền thì điểm của bạn sẽ \n"
                    + "cộng thêm 1.\n trên đường đua cũng sẽ xuất hiện một \n"
                    + "số người đi đường,nếu bạn đụng phải thì \n"
                    + "bạn sẽ bị trừ một điểm.\n\n\n"
                    + "game gồm có 3 vong vượt qua cả 3 vòng\n"
                    + "bạn sẽ chiến thắng và số điểm của bạn\n"
                    + "sẽ được lưu lại.",10,10, Graphics.TOP | Graphics.LEFT);
        }
    }

    public void commandAction(Command c, Displayable d) {
        if (c == cmdBack) {
            midlet.showMenuGame();
            soundHelper.stopSound();
        }
    }
}
